BWA -- bwa-mem2

1.BWA简介

BWA(Burrows-Wheeler Aligner)主要是将reads比对到大型基因组上,主要功能是:序列比对。
首先通过BWT(Burrows-Wheeler Transformation,BWT压缩算法)为大型参考基因组建立索引,然后将reads比对到基因组。特点是快速、准确、省内存。
由三种类似算法组成:BWA-backtrack,BWA-SW和BWA-MEM。
首推BWA-MEM。

1.1三种算法的适用范围

1.2BWA参数

序列比对BWA之参数:index, mem, aln, samse, sampe, bwasw

-   bwa index ref.fa # 首先建立基因组索引
-   bwa mem ref.fa reads.fq > aln-se.sam # 调用BWA-MEM
-   bwa mem ref.fa read1.fq read2.fq > aln-pe.sam # 调用BWA-MEM
-   bwa aln ref.fa short_read.fq > aln_sa.sai # 调用BWA-backtrack
-   bwa samse ref.fa aln_sa.sai short_read.fq > aln-se.sam # 调用BWA-backtrack
-   bwa sampe ref.fa aln_sa1.sai aln_sa2.sai read1.fq read2.fq > aln-pe.sam # 调用BWA-backtrack
-   bwa bwasw ref.fa long_read.fq > aln.sam # 调用BWA-SW

-   注意:BWA输入的是fastq/fq的原始测序数据。

1.3Published Articles:

2.bwa-mem2

2.1安装

$ curl -L https://github.com/bwa-mem2/bwa-mem2/releases/download/v2.2.1/bwa-mem2-2.2.1_x64-linux.tar.bz2 | tar jxf -
$ bwa-mem2-2.2.1_x64-linux/bwa-mem2 index ref.fa
$ bwa-mem2-2.2.1_x64-linux/bwa-mem2 mem ref.fa read1.fq read2.fq > out.sam

2.2使用

# 建立索引
$ bwa-mem2-2.2.1_x64-linux/bwa-mem2 index ref.fa

# bwa比对
$ nohup time bwa-mem2-2.2.1_x64-linux/bwa-mem2 mem -t 24 ref.fa JLTG01.filter.R1.fq.gz JLTG01.filter.R2.fq.gz 1>JLTG01.bwa.sam 2>JLTG01.bwa.log &

-   -R "@RG\tID:W2018001\tPL:ILLUMINA\tLB:W2018001\tSM:W2018001" # 文件头信息,sam文件的,PL是有要求的,其余的自己设就好了

4.RSeQC

RSeQC是一个功能强大的软件,里面有很多实用的小工具,其中的bam_stat就是一个实用的bam/sam结果统计工具,安装方式也是相当简单了,就是一个python的包,支持python2.x和python3.x,这里我选用python3的pip来安装,因为本人习惯使用python3。

4.1安装

$ pip3 install RSeQC

4.2统计

$ bam_stat.py -i JLTG01.bwa.sam